package com.ddwl.funds.dao.model;

import com.ddwl.common.dao.model.BaseModel;
import lombok.Getter;
import lombok.Setter;

import javax.persistence.Table;
import java.math.BigDecimal;
import java.time.Instant;

/**
 * 订单支付表(OrderPay)表实体类
 *
 * @author zach
 * @since 2020-09-24 11:42:01
 */
@Getter
@Setter
@Table(name = "order_pay")
public class OrderPay extends BaseModel {
    /**
     * 支付所属商户
     */     
    private String payMchId;
    /**
     * 支付应用id
     */
    private String payAppId;
    /**
     * 所属门店
     */     
    private String shopId;
    /**
     * 订单ID
     */     
    private String orderId;
    /**
     * 阶段id
     */     
    private String phaseId;
    /**
     * 第三方支付交易单号
     */     
    private String tradeNo;
    /**
     * 支付类型（0微信支付，1支付宝支付 2银行卡 3字节跳动）
     */     
    private Integer payType;
    /**
     * 支付金额
     */     
    private BigDecimal amount;
    /**
     * 退款金额
     */
    private BigDecimal reAmount;
    /**
     * 支付状态（0创建10提交支付20支付成功30支付失败）
     */     
    private Integer tradeStatus;
    /**
     * 用户ID
     */     
    private String userId;
    /**
     * 用户名称
     */     
    private String userName;
    /**
     * 付款人用户id
     */
    private String payUserId;
    /**
     * 付款人名称
     */
    private String payUserName;
    /**
     * 支付主题
     */     
    private String subject;
    /**
     * 所属产品
     */     
    private String product;
    /**
     * 付款产品
     */
    private String payProduct;
    /**
     * 支付用户openid
     */
    private String payOpenId;
    /**
     * 支付次数
     */     
    private Integer payTimes;
    /**
     * 支付id
     */
    private String payFlowId;
    /**
     * 通知地址
     */
    private String notifyMethod;
    /**
     * 支付超时时间
     */     
    private Instant expirationTime;
    /**
     * 主订单id
     */     
    private String masterOrderId;
    /**
     * 0独立支付订单1合并支付订单
     */
    private String isMerge;
    /**
     * 订单类型0商城购物订单，1 话费充值
     */
    private String orderType;
}